package 哈希;

import java.util.HashSet;
import java.util.Set;

/**
 * @author tmh
 * @date 2024/11/26 21:41
 * @description
 */
public class T128最长连续序列 {
    public int longestConsecutive(int[] nums) {
        Set<Integer> set = new HashSet<>();
        int maxLen = 0;
        for (int num : nums) {
            set.add(num);
        }
        //找的是有没有比这个数还小的数==>我们先找的就是最小的数
        for (int num : nums) {
            //找到最小的数  如果set里面不含比这个数还小的数，那么这个数就是最小的数
            if (!set.contains(num - 1)) {
                int y = num;
                while (set.contains(y + 1)) {
                    y++;
                }
                maxLen = Math.max(maxLen, y - num + 1);
            }
        }
        return maxLen;
    }
}
